import Vue from 'vue'
import App from './App.vue'

// 三级联动注册为全局组件
import TypeNav from '@/components/TypeNav/index.vue'
import Carousel from '@/components/Carousel/index.vue'
import Pagination from '@/components/Pagination/index.vue'

// 按需引入elementUI 支付遮罩层
import { MessageBox } from 'element-ui';

// 导航全局组件
Vue.component(TypeNav.name, TypeNav)
//轮播图注册全局组件
Vue.component(Carousel.name, Carousel)
// 分页器全局组件
Vue.component(Pagination.name, Pagination)

// 挂载elementUI组件
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert = MessageBox.alert;// 没有取消按钮
Vue.prototype.$confirm = MessageBox.confirm; // 有取消按钮 使用这个

// 引入路由
import router from '@/router/index.js'

// 引入仓库
import store from '@/store/index.js'

// 引入mock
import '@/mock/mockServe.js'

// 引入swiper全局样式
import 'swiper/css/swiper.css'

// 提交订单：不再使用vuex，统一接口api文件夹里面全部请求函数
import * as API from '@/api/index.js'

// 图片懒加载
import VueLazyload from 'vue-lazyload'
import wq from '@/assets/images/1.jpeg'

Vue.use (VueLazyload, {
  loading: wq
})

// 引入表单验证插件
import '@/plugins/validate.js'

Vue.config.productionTip = false

new Vue({
  render: h => h(App),
  beforeCreate() {
    // $bus 全局事件总线配置
    Vue.prototype.$bus = this
    // 统一api
    Vue.prototype.$API = API
  },
  // 注册路由
  router,
  store
}).$mount('#app')
